<?
define('ROOT', $_SERVER['DOCUMENT_ROOT']);
require_once(ROOT.'/public/global.php');
require_once(ROOT.'/lang/'.$LN.'.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<? require_once(ROOT.'/public/ref.php'); ?>
<title>mac-flow 流程引擎</title>
<meta name="description" content="flow 流程引擎" />
<meta name="keywords" content="flow 流程引擎" />
<script type="text/javascript">
$(function(){
	function adjust(){
		var de = document.documentElement
			, ch = de.clientHeight, cw = de.clientWidth;
		$('#body').width(cw - 16);
	}
	$(window).resize(adjust);
	adjust();
});
</script>
</head>
<body>
<? require_once(ROOT.'/public/head.php'); ?>
<div id="body">
	<div class="dir">
<? require_once('./dir.php'); ?>
	</div>
	<div class="main">
		<div id="nav">
			<div id="nav_path">
				<a href="<?=$LP?>">Home</a>
				&gt;
				mac-flow
			</div>
			<div id="nav_back">
				<a href="javascript:history.back()"><?=$Msg['back']?></a>
				|
				<a href="<?=$LP?>"><?=$Msg['up']?></a> &nbsp;&nbsp;
			</div>
			<div class="clear"></div>
		</div>
<h1>mac-flow 流程引擎</h1>
<h2>基本概念</h2>
&nbsp;&nbsp;mac-flow是用Java开发的一款小巧精悍的流程引擎。具有以下优点：
<ol>
	<li>完全符合自然的编程思路，且无专门的标签需要学习，易于掌握。</li>
	<li>设计简洁，性能零损耗。</li>
	<li>扩展性强，支持二次开发。</li>
	<li>服务包装器设计，支持服务前后处理。</li>
	<li>支持流程嵌套（包括事务的嵌套等）。</li>
	<li>支持显式事务的开启、提交与自动回滚，可嵌套。</li>
	<li>支持MVEL表达式或自定义实现的条件判断分支。</li>
	<li>支持流程的挂起（暂停）与续跑，可嵌套。</li>
	<li>支持switch…case多路分支，可嵌套。</li>
	<li>支持多个try…catch…finally…yrt，可嵌套。</li>
	<li>支持循环，甚至递归！可嵌套。</li>
	<li>支持异步并行处理（并行计算），可嵌套。</li>
	<li>支持事件驱动与通知消息（挂起与续跑），可嵌套。</li>
	<li>内置冲正（反交易）支持。</li>
	<li>支持调用链跟踪。</li>
	<li>配套优秀的流程设计器。</li>
	<li>可生成流程定义或代码，可二次开发。</li>
</ol>
<h2>流程设计器</h2>
前往下载&nbsp;<a href="/mac/flow/editor" target="_blank">简化版在线演示</a>
|
<a href="<?=$LP ?>download.html#flowEditor">简化版流程编辑器</a>
<br />
注：流程编辑器是基于Java开发的，但在线演示版则是基于PHP的模拟版本。
<p><img alt="overvew" src="/mac/flow/img/overview.png" /></p>
	</div>
</div>
<? require_once(ROOT.'/public/foot.html'); ?>
</body>
</html>
<?
$fp = ROOT.$LP.'/mac/flow/';
output(basename(__FILE__), $fp.'index.html');
?>